package com.turnengine.client.local.action.calculator;

import com.turnengine.client.local.action.IActionCache;
import com.turnengine.client.local.action.bean.IAction;
import com.turnengine.client.local.faction.IFactionCache;
import com.turnengine.client.local.group.IGroupCache;
import com.turnengine.client.local.unit.IUnitCache;
import com.turnengine.client.local.unit.storage.IStorageCache;

public interface IActionCalculator {

	IFactionCache getFactionCache();

	IGroupCache getGroupCache();

	IUnitCache getUnitCache();

	IStorageCache getStorageCache();

	IActionCache getActionCache();

	long getAmountCanExecute(IAction action, IUnitListSetTarget source, IUnitListSetTarget target);

}
